1. The Field of the Invention
The present invention relates to electronic messages and to electronic communications. More particularly, the present invention relates to methods and systems for updating the presence information of a user engaged in electronic communications.
2. The Prior State of the Art
Instant messaging, a form of electronic communication which permits users to quickly communicate over a network such as the Internet, is fast becoming a popular communication medium. The idea behind instant messaging is the desire of a group of individuals to communicate and send messages in “real time” over the Internet. In fact, the ability to communicate in “real time” is one of the essential differences between instant messaging and other forms of electronic messaging such as e-mail. Instant messaging facilitates real time electronic communications among the subscribers of an electronic messaging group and is essentially an electronic version of person to person communication.
A significant problem associated with instant messaging, however, is related to notification. For example, many individuals desire to be notified when another individual logs on, when another individual is on line, or when the status of another individual changes and what is the result of that status change. Currently, “presence information” is used to describe the status or availability of a client computer, or a user associated with that client computer. When a user changes their status, it is reflected to that user's subscribers. In other words, the subscribers are effectively notified of the change in status of that user through the presence information.
The ability of users to electronically communicate using instant messaging is often dependent on the availability of the users and presence information provides the users or members of an electronic messaging group with information that is indicative of the user's availability. For example, if a subscriber desires to conduct instant messaging with another user, the presence information of the user may be used by the subscriber in deciding whether to initiate or continue electronic communication. If the user is logged off, the subscriber may decide to not compose and send an instant message because the user is not online and will likely not receive the message in real time. Alternatively, if the user is logged in or online, the subscriber is relatively assured that an instant message will be received by the user in real time. Whether there is a response to the instant message by the user is dependent on whether the user is present at their computer and whether the user chooses to respond to the instant message. In any event, the presence information assists all of the users of a particular messaging group in making decisions relating to instant messaging.
Within a particular messaging group, each user has a particular status or state that is reflected to all of the other users or subscribers. The status of a user is often determined by the client computer or device that is associated with the user. Thus, when a user logs on, an online status is reflected to the subscribers. When the status changes, the status change is reflected to the subscribers instantly. For instance, when a user changes their status to “Out to Lunch,” the subscribers are aware of this change and will adjust the way they utilize instant messaging accordingly.
Notifying the subscribers of a particular user's status becomes significantly more difficult when the user is associated or logged onto more than one client or device. Each client can believe that the user has a different status. For example, one client can believe that the user is “Online” while another client believes that the user is “Out to Lunch.” Because the various clients can believe that the user has a different state or status, the clients are effectively battling each other to update the user's status that is reflected to the subscribers.
One solution to this problem is to allow each client to alter the status information when a status change occurs for that client. In other words, the status reflected to other users is the status of the last client that experienced a status change. This solution, however, can lead to an inaccurate status being reflected to the subscribers. For instance, when a user is logged in to more than one client and the status of the first client is changed to “Offline,” then the subscribers perceive that the user is no longer available and not connected with the messaging group even though another client associated with the user has an “Online” status and is actually available to the subscribers. Thus, methods and systems for accurately updating presence information are desired.